<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <meta>
  <!-- Stylesheets -->
  <link href="../web.css" type="text/css" rel="stylesheet"></link>
  <link href="../pygmentize.css" type="text/css" rel="stylesheet"></link>
  <title>VLFeat - Documentation - C API</title>
  <link rel="stylesheet" type="text/css" href="../doxygen.css"></style>

  <!-- Scripts-->
  
 </meta>

 <!-- Body Start -->
 <body>
  <div id="header">
   <!-- Google CSE Search Box Begins -->
   <form action="http://www.vlfeat.org/search.html" method="get" id="cse-search-box" enctype="application/x-www-form-urlencoded">
    <div>
     <input type="hidden" name="cx" value="003215582122030917471:oq23albfeam"></input>
     <input type="hidden" name="cof" value="FORID:11"></input>
     <input type="hidden" name="ie" value="UTF-8"></input>
     <input type="text" name="q" size="31"></input>
     <input type="submit" name="sa" value="Search"></input>
    </div>
   </form>
   <script src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en" xml:space="preserve" type="text/javascript"></script>
   <!-- Google CSE Search Box Ends -->
   <h1><a shape="rect" href="../index.html" class="plain"><span id="vlfeat">VLFeat</span><span id="dotorg">.org</span></a></h1>
  </div>
  <div id="headbanner">
   Documentation - C API
  </div>
  <div id="pagebody">
   <div id="sidebar"> <!-- Navigation Start -->
    <ul>
<li><a href="../index.html">Home</a>
</li>
<li><a href="../download.html">Download</a>
</li>
<li><a href="../doc.html">Documentation</a>
<ul>
<li><a href="../mdoc/mdoc.html">Matlab API</a>
</li>
<li><a href="index.html" class='active' >C API</a>
</li>
<li><a href="../man/man.html">Man pages</a>
</li>
</ul></li>
<li><a href="../overview/tut.html">Tutorials</a>
</li>
<li><a href="../applications/apps.html">Applications</a>
</li>
</ul>

   </div> <!-- sidebar -->
   <div id="content">
    
    <link rel="stylesheet" type="text/css" href="../doxygen.css"></style>
    <div class="doxygen">
<div>
<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dsift.h File Reference</div>  </div>
</div>
<div class="contents">

<p>Dense SIFT (<a class="el" href="dsift.html">Dense Scale Invariant Feature Transform (DSIFT)</a>)  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="generic_8h.html">generic.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVlDsiftKeypoint.html">VlDsiftKeypoint</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense SIFT keypoint.  <a href="structVlDsiftKeypoint.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVlDsiftDescriptorGeometry.html">VlDsiftDescriptorGeometry</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense SIFT descriptor geometry.  <a href="structVlDsiftDescriptorGeometry.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense SIFT filter.  <a href="structVlDsiftFilter.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a5f86d3d3a12bedab236a12e55a91edd1">vl_dsift_new</a> (int width, int height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new DSIFT filter.  <a href="#a5f86d3d3a12bedab236a12e55a91edd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a100b0508f06275474caf3de958f09ea6">vl_dsift_new_basic</a> (int width, int height, int step, int binSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new DSIFT filter (basic interface)  <a href="#a100b0508f06275474caf3de958f09ea6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#aa123f1d9e79ab01882646f713dfb4f0c">vl_dsift_delete</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete DSIFT filter.  <a href="#aa123f1d9e79ab01882646f713dfb4f0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a09d5525ad7e16e2b9f3f1b9d273c85f6">vl_dsift_process</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, float const *im)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute keypoints and descriptors.  <a href="#a09d5525ad7e16e2b9f3f1b9d273c85f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#ab31145db21c1f0ed2e8843c159598526">vl_dsift_transpose_descriptor</a> (float *dst, float const *src, int numBinT, int numBinX, int numBinY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transpose descriptor.  <a href="#ab31145db21c1f0ed2e8843c159598526"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#af83ee4f65210d5f4476a39167802ec97">_vl_dsift_update_buffers</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates internal buffers to current geometry.  <a href="#af83ee4f65210d5f4476a39167802ec97"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Setting parameters</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a42ae6bf77a9b737fd1e45ad5c43263dd">vl_dsift_set_steps</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, int stepX, int stepY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set steps.  <a href="#a42ae6bf77a9b737fd1e45ad5c43263dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a7d34c8e257c873f2ed580b046296d1ac">vl_dsift_set_bounds</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, int minX, int minY, int maxX, int maxY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set bounds.  <a href="#a7d34c8e257c873f2ed580b046296d1ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a930f20c25eab08d9490830b0a358ff2b">vl_dsift_set_geometry</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, <a class="el" href="structVlDsiftDescriptorGeometry.html">VlDsiftDescriptorGeometry</a> const *geom)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set SIFT descriptor geometry.  <a href="#a930f20c25eab08d9490830b0a358ff2b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a8dfe2d20dbe9885d0c139c5b81b5f4b0">vl_dsift_set_flat_window</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, <a class="el" href="host_8h.html#ad32e7f8ec7333ff33998cf671a3b1412">vl_bool</a> useFlatWindow)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flat window flag.  <a href="#a8dfe2d20dbe9885d0c139c5b81b5f4b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#ae60fa31ff4df09e8025525714dac9563">vl_dsift_set_window_size</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *self, double windowSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set SIFT descriptor Gaussian window size.  <a href="#ae60fa31ff4df09e8025525714dac9563"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Retrieving data and parameters</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#acd5425e9764383a5ef05bce00fd40e94">vl_dsift_get_descriptors</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get descriptors.  <a href="#acd5425e9764383a5ef05bce00fd40e94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#aeade8b18c21954f00d76f5dcb12b9bfe">vl_dsift_get_descriptor_size</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get descriptor size.  <a href="#aeade8b18c21954f00d76f5dcb12b9bfe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a3b5fabb1496fc91a70669d4201f47a5b">vl_dsift_get_keypoint_num</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of keypoints.  <a href="#a3b5fabb1496fc91a70669d4201f47a5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlDsiftKeypoint.html">VlDsiftKeypoint</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a0cba85e88ae5232fe74368175a8ba510">vl_dsift_get_keypoints</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get keypoints.  <a href="#a0cba85e88ae5232fe74368175a8ba510"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#ae6847be5d2204f06551e12c4a2a84990">vl_dsift_get_bounds</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self, int *minX, int *minY, int *maxX, int *maxY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bounds.  <a href="#ae6847be5d2204f06551e12c4a2a84990"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#aaae1634a166ab5a61d89236fa5bf04d3">vl_dsift_get_steps</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self, int *stepX, int *stepY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get steps.  <a href="#aaae1634a166ab5a61d89236fa5bf04d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVlDsiftDescriptorGeometry.html">VlDsiftDescriptorGeometry</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a55eb4068cd76b03c3bb120a895b7ed13">vl_dsift_get_geometry</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get SIFT descriptor geometry.  <a href="#a55eb4068cd76b03c3bb120a895b7ed13"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="host_8h.html#ad32e7f8ec7333ff33998cf671a3b1412">vl_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#a2f20d74d4250ebf12dc80235a31a64b6">vl_dsift_get_flat_window</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get flat window flag.  <a href="#a2f20d74d4250ebf12dc80235a31a64b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsift_8h.html#afa8d4a02e6f7a0d8b89b585c689e164e">vl_dsift_get_window_size</a> (<a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *self)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get SIFT descriptor Gaussian window size.  <a href="#afa8d4a02e6f7a0d8b89b585c689e164e"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Andrea Vedaldi </dd>
<dd>
Brian Fulkerson </dd></dl>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="af83ee4f65210d5f4476a39167802ec97"></a><!-- doxytag: member="dsift.h::_vl_dsift_update_buffers" ref="af83ee4f65210d5f4476a39167802ec97" args="(VlDsiftFilter *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _vl_dsift_update_buffers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa123f1d9e79ab01882646f713dfb4f0c"></a><!-- doxytag: member="dsift.h::vl_dsift_delete" ref="aa123f1d9e79ab01882646f713dfb4f0c" args="(VlDsiftFilter *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_delete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae6847be5d2204f06551e12c4a2a84990"></a><!-- doxytag: member="dsift.h::vl_dsift_get_bounds" ref="ae6847be5d2204f06551e12c4a2a84990" args="(VlDsiftFilter const *self, int *minX, int *minY, int *maxX, int *maxY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_get_bounds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>minX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>minY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>maxX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>maxY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">minX</td><td>bounding box minimum X coordinate. </td></tr>
    <tr><td class="paramname">minY</td><td>bounding box minimum Y coordinate. </td></tr>
    <tr><td class="paramname">maxX</td><td>bounding box maximum X coordinate. </td></tr>
    <tr><td class="paramname">maxY</td><td>bounding box maximum Y coordinate. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aeade8b18c21954f00d76f5dcb12b9bfe"></a><!-- doxytag: member="dsift.h::vl_dsift_get_descriptor_size" ref="aeade8b18c21954f00d76f5dcb12b9bfe" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vl_dsift_get_descriptor_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of a descriptor. </dd></dl>

</div>
</div>
<a class="anchor" id="acd5425e9764383a5ef05bce00fd40e94"></a><!-- doxytag: member="dsift.h::vl_dsift_get_descriptors" ref="acd5425e9764383a5ef05bce00fd40e94" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float const * vl_dsift_get_descriptors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>descriptors. </dd></dl>

</div>
</div>
<a class="anchor" id="a2f20d74d4250ebf12dc80235a31a64b6"></a><!-- doxytag: member="dsift.h::vl_dsift_get_flat_window" ref="a2f20d74d4250ebf12dc80235a31a64b6" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vl_dsift_get_flat_window </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>TRUE</code> if the DSIFT filter uses a flat window. </dd></dl>

</div>
</div>
<a class="anchor" id="a55eb4068cd76b03c3bb120a895b7ed13"></a><!-- doxytag: member="dsift.h::vl_dsift_get_geometry" ref="a55eb4068cd76b03c3bb120a895b7ed13" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlDsiftDescriptorGeometry.html">VlDsiftDescriptorGeometry</a> const * vl_dsift_get_geometry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>DSIFT descriptor geometry. </dd></dl>

</div>
</div>
<a class="anchor" id="a3b5fabb1496fc91a70669d4201f47a5b"></a><!-- doxytag: member="dsift.h::vl_dsift_get_keypoint_num" ref="a3b5fabb1496fc91a70669d4201f47a5b" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vl_dsift_get_keypoint_num </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0cba85e88ae5232fe74368175a8ba510"></a><!-- doxytag: member="dsift.h::vl_dsift_get_keypoints" ref="a0cba85e88ae5232fe74368175a8ba510" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlDsiftKeypoint.html">VlDsiftKeypoint</a> const * vl_dsift_get_keypoints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaae1634a166ab5a61d89236fa5bf04d3"></a><!-- doxytag: member="dsift.h::vl_dsift_get_steps" ref="aaae1634a166ab5a61d89236fa5bf04d3" args="(VlDsiftFilter const *self, int *stepX, int *stepY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_get_steps </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stepX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>stepY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">stepX</td><td>sampling step along X. </td></tr>
    <tr><td class="paramname">stepY</td><td>sampling step along Y. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afa8d4a02e6f7a0d8b89b585c689e164e"></a><!-- doxytag: member="dsift.h::vl_dsift_get_window_size" ref="afa8d4a02e6f7a0d8b89b585c689e164e" args="(VlDsiftFilter const *self)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vl_dsift_get_window_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> const *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>window size. </dd></dl>

</div>
</div>
<a class="anchor" id="a5f86d3d3a12bedab236a12e55a91edd1"></a><!-- doxytag: member="dsift.h::vl_dsift_new" ref="a5f86d3d3a12bedab236a12e55a91edd1" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a>* vl_dsift_new </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>imWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>imHeight</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">imWidth</td><td>width of the image. </td></tr>
    <tr><td class="paramname">imHeight</td><td>height of the image</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new filter. </dd></dl>

</div>
</div>
<a class="anchor" id="a100b0508f06275474caf3de958f09ea6"></a><!-- doxytag: member="dsift.h::vl_dsift_new_basic" ref="a100b0508f06275474caf3de958f09ea6" args="(int width, int height, int step, int binSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a>* vl_dsift_new_basic </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>imWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>imHeight</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>step</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>binSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">imWidth</td><td>width of the image. </td></tr>
    <tr><td class="paramname">imHeight</td><td>height of the image. </td></tr>
    <tr><td class="paramname">step</td><td>sampling step. </td></tr>
    <tr><td class="paramname">binSize</td><td>bin size. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>new filter.</dd></dl>
<p>The descriptor geometry matches the standard SIFT descriptor. </p>

</div>
</div>
<a class="anchor" id="a09d5525ad7e16e2b9f3f1b9d273c85f6"></a><!-- doxytag: member="dsift.h::vl_dsift_process" ref="a09d5525ad7e16e2b9f3f1b9d273c85f6" args="(VlDsiftFilter *self, float const *im)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_process </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float const *&#160;</td>
          <td class="paramname"><em>im</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter. </td></tr>
    <tr><td class="paramname">im</td><td>image data. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7d34c8e257c873f2ed580b046296d1ac"></a><!-- doxytag: member="dsift.h::vl_dsift_set_bounds" ref="a7d34c8e257c873f2ed580b046296d1ac" args="(VlDsiftFilter *self, int minX, int minY, int maxX, int maxY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_set_bounds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">minX</td><td>bounding box minimum X coordinate. </td></tr>
    <tr><td class="paramname">minY</td><td>bounding box minimum Y coordinate. </td></tr>
    <tr><td class="paramname">maxX</td><td>bounding box maximum X coordinate. </td></tr>
    <tr><td class="paramname">maxY</td><td>bounding box maximum Y coordinate. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8dfe2d20dbe9885d0c139c5b81b5f4b0"></a><!-- doxytag: member="dsift.h::vl_dsift_set_flat_window" ref="a8dfe2d20dbe9885d0c139c5b81b5f4b0" args="(VlDsiftFilter *self, vl_bool useFlatWindow)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_set_flat_window </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="host_8h.html#ad32e7f8ec7333ff33998cf671a3b1412">vl_bool</a>&#160;</td>
          <td class="paramname"><em>useFlatWindow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">useFlatWindow</td><td><code>true</code> if the DSIFT filter should use a flat window. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a930f20c25eab08d9490830b0a358ff2b"></a><!-- doxytag: member="dsift.h::vl_dsift_set_geometry" ref="a930f20c25eab08d9490830b0a358ff2b" args="(VlDsiftFilter *self, VlDsiftDescriptorGeometry const *geom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_set_geometry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structVlDsiftDescriptorGeometry.html">VlDsiftDescriptorGeometry</a> const *&#160;</td>
          <td class="paramname"><em>geom</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">geom</td><td>descriptor geometry parameters. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a42ae6bf77a9b737fd1e45ad5c43263dd"></a><!-- doxytag: member="dsift.h::vl_dsift_set_steps" ref="a42ae6bf77a9b737fd1e45ad5c43263dd" args="(VlDsiftFilter *self, int stepX, int stepY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_set_steps </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stepX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stepY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">stepX</td><td>sampling step along X. </td></tr>
    <tr><td class="paramname">stepY</td><td>sampling step along Y. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae60fa31ff4df09e8025525714dac9563"></a><!-- doxytag: member="dsift.h::vl_dsift_set_window_size" ref="ae60fa31ff4df09e8025525714dac9563" args="(VlDsiftFilter *self, double windowSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_set_window_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVlDsiftFilter.html">VlDsiftFilter</a> *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>windowSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">self</td><td>DSIFT filter object. </td></tr>
    <tr><td class="paramname">windowSize</td><td>window size. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab31145db21c1f0ed2e8843c159598526"></a><!-- doxytag: member="dsift.h::vl_dsift_transpose_descriptor" ref="ab31145db21c1f0ed2e8843c159598526" args="(float *dst, float const *src, int numBinT, int numBinX, int numBinY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vl_dsift_transpose_descriptor </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numBinT</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numBinX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numBinY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>destination buffer. </td></tr>
    <tr><td class="paramname">src</td><td>source buffer. </td></tr>
    <tr><td class="paramname">numBinT</td><td></td></tr>
    <tr><td class="paramname">numBinX</td><td></td></tr>
    <tr><td class="paramname">numBinY</td><td>The function writes to <em>dst</em> the transpose of the SIFT descriptor <em>src</em>. Let <code>I</code> be an image. The transpose operator satisfies the equation <code>transpose(dsift(I,x,y)) = dsift(transpose(I),y,x)</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
     <!-- Doc Here -->
    </div>
   
   </div>
   <div class="clear">&nbsp;</div>
  </div> <!-- pagebody -->
  <div id="footer">
   &copy; 2007-12 Andrea Vedaldi and Brian Fulkerson
  </div> <!-- footer -->

  <!-- Google Analytics Begins -->
  <script xml:space="preserve" type="text/javascript">
   //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {
   var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
   document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
   }
   //]]>
  </script>
  <script xml:space="preserve" type="text/javascript">
    //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {

   try {
   var pageTracker = _gat._getTracker("UA-4936091-2");
   pageTracker._trackPageview();
   } catch(err) {}

   }
   //]]>
  </script>
  <!-- Google Analytics Ends -->
 </body>
</html>

 
